Although not precisely defined, object recognition in computing technology involves the task of detecting and identifying items, such as letters, numbers, faces, fingerprints, humans, animals, buildings, vehicles, etc. in images (still pictures or video). Recognition is often used in computer vision and digital image processing environments for reasons related to security, surveillance, banking, rules enforcement, robotics, manufacturing, pattern matching, medical image processing, and the like. It is common to search pixels of a source image for objects and correlate them to predefined templates that characterize the shapes of the objects or that specify other identifying features. The object-template pair with the highest correlation/matching score provides the basis for recognizing the objects under consideration.
With dynamic changes to environment, such as changes in lighting, lighting source direction, weather, background, etc., the same objects appearing in multiple images can appear significantly different from their corresponding templates. In turn, object-template pairs often have varying correlation/matching scores which reduces the likelihood of successfully identifying objects in images. For example, FIGS. 1(a)-1(c) show similar image captures of embossed digits (2-0-2-1) of a banking card 10, each under various lighting conditions. The digit “0” in FIG. 1(a) reveals a high gloss exterior 12 but only has glossy portions near a top 4 and bottom 16 in FIG. 1(b) coupled with very dark regions on sides 18, 20. In FIG. 1(c), both glossy regions 22 and moderately dark regions 24 are intermixed around the exterior of the digit. In FIGS. 1(d) and 1(e), templates are noted for matching the digits in the images of FIGS. 1(a)-1(c). For digit “0,” the template in FIG. 1(d) appears nearly dark 25 everywhere, while regions of light 27 reside interspersed with regions of dark 29 in the template in FIG. 1(e). Neither template matches exactly to the digit “0” in the images.
Since advanced recognition systems seek to identify these objects under changing conditions, modeling processes regularly introduce complex and time-consuming techniques to counter these effects. As noted generally in the art at http://en.wikipedia.org/wiki/Template_matching, for example, improvements can be made to the matching method by using more than one template (eigenspaces), especially contemplating different scales and rotations. Yet, these models are impractical given that changes in environmental conditions are often unpredictable.
What is needed are techniques to augment traditional correlation to ensure better recognition of objects in images. This includes better matching, fitting, etc. of objects to their templates, especially under changing conditions of light, background, skew, orientation, etc., to give a higher level of confidence that correlation is achieved between objects and their templates. Further needs also contemplate instructions or software executable on controller(s) in hardware for reliably performing the same. Additional benefits and alternatives are sought when devising solutions.